///////////////////////////////////////////////////////////////////////////////
//
//    Copyright 2010-2012 Geoffrey TOURON (geoffrey.touron@gmail.com)
//
//    This file is part of Chasis.
//
//    Chasis is free software: you can redistribute it and/or modify
//    it under the terms of the GNU General Public License as published by
//    the Free Software Foundation, either version 3 of the License, or
//    (at your option) any later version.
//
//    Chasis is distributed in the hope that it will be useful,
//    but WITHOUT ANY WARRANTY; without even the implied warranty of
//    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//    GNU General Public License for more details.
//
//    You should have received a copy of the GNU General Public License
//    along with Chasis.  If not, see <http://www.gnu.org/licenses/>.
//
///////////////////////////////////////////////////////////////////////////////

#ifndef BODY_H_
#define BODY_H_

#include "math/vec.hpp"

class	Actor;
class	Packet;

class	Body
{
	public:

		Actor			*actor;

		Body			*prev;
		Body			*next;

		bool			dynamic;
		bool			solid;

		float			ping;

		float			mass;

		vec<float, 2>	loc;
		vec<float, 2>	spd;
		vec<float, 2>	acc;

		vec<float, 2>	size;

		vec<float, 2>	nextloc;
		vec<float, 2>	bot;
		vec<float, 2>	top;


		Body(Actor *, bool, bool);
		virtual ~Body();

		virtual void	get_replication(Packet &);
        virtual void	replicate(Packet &, float);
};

#endif
